﻿#pragma once
#include <glad/glad.h>
#include <glm/glm.hpp>
#include <vector>

namespace Kriko
{
    class OpenGLBuffer
    {
    private:
    GLuint bufferID;
    GLsizei componentCount;
    public:
        OpenGLBuffer(GLfloat* data, GLsizei count, GLsizei componentCount);
        OpenGLBuffer(const std::vector<glm::vec2>& data);
        OpenGLBuffer(const std::vector<glm::vec3>& data);
        OpenGLBuffer(const std::vector<glm::vec4>& data);

        ~OpenGLBuffer();
        
        void Bind();
        void Unbind();

        GLsizei GetComponentCount() const;
    };
}

